package com.laf.manage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.laf.common.core.page.TableDataInfo;
import com.laf.manage.domain.dto.CommentsDTO;
import com.laf.manage.domain.dto.PageDTO;
import com.laf.manage.domain.po.Comments;
import com.laf.manage.domain.vo.CommentsVO;

import java.util.List;

/**
 * 评论管理Service接口
 *
 * @author zian
 * @date 2024-11-09
 */
public interface ICommentsService extends IService<Comments> {

    /**
     * 查询评论管理列表
     *
     * @param comments 评论管理
     * @return 评论管理集合
     */
    List<Comments> selectCommentsList(Comments comments);

    /**
     * 分页查询评论管理列表
     * @param comments 查询参数
     * @param pageNum 页码
     * @param pageSize 页大小
     * @return TableDataInfo<CommentsVO>
     */
    TableDataInfo selectCommentsVOList(Comments comments, Integer pageNum, Integer pageSize);

    /**
     * 分页查询评论管理列表
     * @param comments 查询参数
     * @param pageNum 页码
     * @param pageSize 页大小
     * @return TableDataInfo<CommentsVO>
     */
    PageDTO<CommentsVO> getCommentsVOList(Comments comments, Integer pageNum, Integer pageSize);

    /**
     * 通过批量通过审核
     * @param commentsIds 评论id集合
     */
    void passCommentsByIds(List<Long> commentsIds);

    /**
     * 批量驳回
     * @param commentsIds 评论id集合
     */
    void notPassCommentsByIds(List<Long> commentsIds);

    /**
     * 新增评论
     * @param dto message 评论内容  dynamicId 动态id
     */
    void addComments(CommentsDTO dto);

    /**
     * 批量删除评论
     * @param ids
     */
    void delByIds(List<Long> ids);
}
